﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using L = Science.Mathematics.LinearAlgebra;

namespace Strang3Ed.Chapter04.Section1
{
    public class Example04
    {
        public Example04()
		{
		}
		private string result;
		public string Result
		{
			get{return result;}
		}
        public void Compute()
        {
            double[,] x = { { 3.0, 0.0, 0.0, 0.0, 0.0 } ,
                            { 0.0, 5.0, 0.0, 0.0, 0.0},
                          { 0.0, 0.0, 0.0, 0.0, 0.0}};

            L.Matrix A = new L.Matrix(x);

            L.ColumnSpace C = new L.ColumnSpace(A);
            foreach (L.Vector v in C.Basis)
                result += v.ToString() + "\r\n";
            result += C.Dimension.ToString() + "\r\n" + "\r\n";

            L.LeftNullspace LN = new L.LeftNullspace(A);
            foreach (L.Vector v in LN.Basis)
                result += v.ToString() + "\r\n";
            result += LN.Dimension.ToString() + "\r\n" + "\r\n";

            L.RowSpace R = new L.RowSpace(A);
            foreach (L.Vector v in R.Basis)
                result += v.ToString() + "\r\n";
            result += R.Dimension.ToString() + "\r\n" + "\r\n";

            L.Nullspace N = new L.Nullspace(A);
            foreach (L.Vector v in N.Basis)
                result += v.ToString() + "\r\n";
            result += N.Dimension.ToString() + "\r\n";
        }
    }
}
/*
3
0
0

0
5
0

2

0
0
1

1

3
0
0
0
0

0
5
0
0
0

2

0
0
1
0
0

0
0
0
1
0

0
0
0
0
1

3
*/


